SPB Git

spb/groupe-ka Public

Groupe KA — site du holding + KA ID (compte unique & SSO des 7 plateformes). Next.js 16, SQLite, Google & Apple login.

TypeScript 89.7% CSS 5.8% HTML 4.4%
954 B · 29 lines typescript
Raw Blame History
1// Auteur : Simon-Pierre Boucher — contact@spboucher.ai2// Sert la photo de profil d'un membre (JPEG carré 512 px) — hotlinkée par la3// carte de membre, la page publique /m/{ka_id} et les plateformes du groupe.4import { NextRequest, NextResponse } from "next/server";5import fs from "fs/promises";6import path from "path";78export async function GET(9  _req: NextRequest,10  { params }: { params: Promise<{ kaId: string }> },11) {12  const { kaId } = await params;13  if (!/^ka-\d{10}$/.test(kaId))14    return NextResponse.json({ error: "introuvable" }, { status: 404 });15  try {16    const buf = await fs.readFile(17      path.join(process.cwd(), "data", "avatars", `${kaId}.jpg`),18    );19    return new NextResponse(new Uint8Array(buf), {20      headers: {21        "Content-Type": "image/jpeg",22        "Cache-Control": "public, max-age=3600",23      },24    });25  } catch {26    return NextResponse.json({ error: "introuvable" }, { status: 404 });27  }28}29